<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<![endif]-->
<title>VIM 中文帮助: Macintosh</title>
<link rel="stylesheet" href="vim-stylesheet.css" type="text/css" />
<link rel="canonical" href="https://yianwillis.github.io/vimcdoc/doc/os_mac.html" />
<script type="text/javascript" src="vimcdoc.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1" />
</head>
<body>
<nav id=banner>
<form action=tags.html target="tag_iframe">
  <input type="text" name="tag" id="tag" placeholder="标签搜索">
</form>
<iframe name="tag_iframe" src=""></iframe>
<a href="help.html">帮助总览</a> &middot;
<hr/>
<a href="quickref.html">快速参考</a> &middot;
<a href="index.html">命令索引</a> &middot;
<a href="eval.html#functions">函数列表</a> &middot;
<a href="quickref.html#option-list">选项列表</a> &middot;
<hr/>
<a href="usr_toc.html">用户手册</a> &middot;
<a href="help.html#reference_toc">参考手册</a> &middot;
</nav>

<header>
<h2>os_mac</h2>
</header>
<article id=outer>
<section class=inner>
<b class="vimtag"> <a name="os_mac.txt">os_mac.txt</a> </b>    适用于 Vim 9.0 版本。   最近更新: 2019年12月


                  <code class="vim">VIM 参考手册    by Bram Moolenaar et al.</code>
                                <code class="vim">译者</code>: iCrazy&lt;icrazy@ustc.edu&gt;、Willis、tocer


                                        <b class="vimtag"> <a name="mac">mac</a> </b> <b class="vimtag"> <a name="Mac">Mac</a> </b> <b class="vimtag"> <a name="macintosh">macintosh</a> </b> <b class="vimtag"> <a name="Macintosh">Macintosh</a> </b>

本文件阐述 Vim 的 Macintonsh 版本的特性。

<code class="note">注意</code>: 本文档已经略有过时。在这里你可以找到更多有用的信息:
        <a href="http://macvim.org">http://macvim.org</a>

1. 文件名约定                    <a href="os_mac.html#mac-filename">mac-filename</a> 
2. .vimrc 和 .vim 文件           <a href="os_mac.html#mac-vimfile">mac-vimfile</a> 
3. 标准映射                      <a href="os_mac.html#mac-standard-mappings">mac-standard-mappings</a> 
4. FAQ                           <a href="os_mac.html#mac-faq">mac-faq</a> 
5. 已知的不足之处                <a href="os_mac.html#mac-lack">mac-lack</a> 
6. Mac 错误报告                  <a href="os_mac.html#mac-bug">mac-bug</a> 
7. 编译 Vim                      <a href="os_mac.html#mac-compile">mac-compile</a> 
8. Darwin 特性                   <a href="os_mac.html#mac-darwin-feature">mac-darwin-feature</a> 

Vim 的 3.0 版有一个移植到 Mac 的版本。这是当时文档中开始的几句话:

VIM Release Notes
Initial Macintosh release, VIM version 3.0
19 October 1994

Eric Fischer
&lt;enf1@midway.uchicago.edu&gt;, &lt;eric@jcp.uchicago.edu&gt;, &lt;etaoin@uchicago.edu&gt;
5759 N. Guilford Ave
Indianapolis IN 46220 USA

</section><hr class="doubleline" /><section class=inner>
<h4>1. 文件名约定                                           <b class="vimtag"> <a name="mac-filename">mac-filename</a> </b></h4>
从 Vim 版本 7 开始，你只能用 unix 的路径分隔符。为了确定指定的文件名是与当前目
录相关 (相对路径)，还是绝对路径 (即: 和 "桌面" 相关)，我们使用了如下的算法:

        如果路径以 "/" 开始，则为绝对路径
        如果路径以 ":" 开始，则为相对路径
        如果路径不以 "/" 和 ":" 开始，但是 ":" 在 "/" 之前出现，则为绝对路径

<code class="example">                :e /HD/text</code>
<code class="example">                :e HD:text</code>
        编辑磁盘 "HD" 中的文件 "text" 
<code class="example">                :e :src:main.c</code>
<code class="example">                :e src/main.c</code>
        编辑当前目录下子目录 "src" 中的文件 "main.c" 
<code class="example">                :e os_mac.c</code>
        编辑当前目录下的文件 "os_mac.c"。

您可以使用变量  <a href="starting.html#$VIM">$VIM</a>  和  <a href="starting.html#$VIMRUNTIME">$VIMRUNTIME</a>  
<code class="example"></code>
<code class="example">                :so $VIMRUNTIME:syntax:syntax.vim</code>
<code class="example"></code>
</section><hr class="doubleline" /><section class=inner>
<h4>2. .vimrc 和 .vim 文件                                  <b class="vimtag"> <a name="mac-vimfile">mac-vimfile</a> </b></h4>
对于 Vim 脚本，建议使用 Unix 风格的换行符，也就是单个 NL 字符。

当 Vim 启动时，它会载入 $VIMRUNTIME/macmap.vim 脚本以定义默认的命令键
(command-key) 映射。

在旧版系统上，一般应避免使用以 "." 开头的文件，所以那些 rc 文件被命名为
"vimrc" 或 "_vimrc"，以及 "gvimrc" 或 "_gvimrc"。这些文件可以是任何格式 (mac、
dos 或 unix)。如果  <a href="options.html#'nocompatible'">'nocompatible'</a>  选项打开，Vim 可以处理任何文件格式，否则它
只能处理 mac 格式的文件。

</section><hr class="doubleline" /><section class=inner>
<h4>3.  标准映射                                    <b class="vimtag"> <a name="mac-standard-mappings">mac-standard-mappings</a> </b></h4>
以下映射可用于剪切/复制/粘贴到剪贴板。

<code class="section">键              普通    可视      插入          描述 </code>
Command-v       "*P     "-d"*P    <code class="special">&lt;C-R&gt;</code>*        粘贴文本         <b class="vimtag"> <a name="%3CD-v%3E">&lt;D-v&gt;</a> </b>
Command-c               "*y                     复制可视文本     <b class="vimtag"> <a name="%3CD-c%3E">&lt;D-c&gt;</a> </b>
Command-x               "*d                     剪切可视文本     <b class="vimtag"> <a name="%3CD-x%3E">&lt;D-x&gt;</a> </b>
Backspace               "*d                     剪切可视文本

</section><hr class="doubleline" /><section class=inner>
<h4>4. Mac FAQ                                              <b class="vimtag"> <a name="mac-faq">mac-faq</a> </b></h4>
在互联网上:  <a href="http://macvim.org/OSX/index.php#FAQ">http://macvim.org/OSX/index.php#FAQ</a>

问题: 我不能在 Apple 终端输入非 ASCII 的字符。
回答: 在 Windows Setting，Emulation，确信没有选上 "Escape non-ASCII
      characters"。

问题: 怎么从命令行启动 GUI？
回答: 假设 Vim.app 存放在 /Applications 中:
        open /Applications/Vim.app
   或:
        /Applications/Vim.app/Contents/MacOS/Vim -g  <code class="special">{arguments}</code>

问题: 如果我用 GUI 或 open 启动 Vim.app，如何合理设置 $PATH？
回答: 下面这个窍门能用于多数外壳。把它放到 vimrc 文件中。macvim.org 发布的二进
      制发行包中带有的系统 vimrc 文件已经包含。 
<code class="example">        let s:path = system("echo echo VIMPATH'${PATH}' | $SHELL -l")</code>
<code class="example">        let $PATH = matchstr(s:path, 'VIMPATH\zs.\{-}\ze\n')</code>
<code class="example"></code>
</section><hr class="doubleline" /><section class=inner>
<h4>5. 已知的不足之处                                       <b class="vimtag"> <a name="mac-lack">mac-lack</a> </b></h4>
在终端中，<code class="keystroke">CTRL-^</code> 需要用 Shift-Control-6 来输入。而 <code class="keystroke">CTRL-@</code> 则用 Shift-Control-2
输入。

</section><hr class="doubleline" /><section class=inner>
<h4>6. Mac 错误报告                                         <b class="vimtag"> <a name="mac-bug">mac-bug</a> </b></h4>
当报告任何与 Mac 平台相关的 bug 或特性时，请使用 vim-mac 邮件列表  <a href="intro.html#vim-mac">vim-mac</a> 。
然而，您必须先订阅它。另一个办法就是发邮件给当前的 MacVim 维护者:

        mac@vim.org

</section><hr class="doubleline" /><section class=inner>
<h4>7. 编译 Vim                                             <b class="vimtag"> <a name="mac-compile">mac-compile</a> </b></h4>
见伴随源程序的文件 "src/INSTALLmac.txt"。

</section><hr class="doubleline" /><section class=inner>
<h4>8. Darwin 特性                                          <b class="vimtag"> <a name="mac-darwin-feature">mac-darwin-feature</a> </b></h4>
如果你的 Mac 不是太老，你运行的会是 OS X，也叫 Darwin。Darwin 之前的最后的 OS
版本是 Mac OS 9。Darwin 特性意味着 Vim 能使用 Darwin 特定的属性。

此特性可以完成两重目的:

- Vim 可以和系统剪贴板互动。
- 给 Vim 引入转换模块，为一些平台特定的字符编码和 Vim 所知编码之间弥合差异。

不需要讲，任何像样的文本编辑器要在同一桌面环境下和其它应用友好互动，没有这两条
是不行的。

Vim 不是专为 macOS 设计的应用，需要额外的特性来使 macOS 的用户享受其它平台用户
相同的用户体验。

为简明起见，此特性称为 "darwin"，用来表示它是专为此特定平台提供的 Vim 特性。

此特性是个配置选项。亦即，它的打开与否是在编译时间决定的；一旦选择打开，编译时
带入就不能在运行时关闭。

缺省打开此特性。对于多数 macOS 用户，这就足够了，除非他们有以下简要说明的特殊
需要。

要关闭此特性，给 configure 脚本传递  <code class="badlink">--disable-darwin</code> : 
<code class="example"></code>
<code class="example">    ./configure --disable-darwin &lt;other options&gt;</code>
<code class="example"></code>
然后运行  <code class="badlink">make</code>  来编译 Vim。选项的顺序无关紧要。

要在运行时确定是否编译进 darwin 特性，可用 `has(<code class="badlink">'osxdarwin'</code>)`，如果编译时有此
特性，返回 1；否则返回 0。为了后向兼容，继续可以用 <code class="badlink">'macunix'</code> 代替
<code class="badlink">'osxdarwin'</code>。

值得提出的  <code class="badlink">--disable-darwin</code>  实际有用的用例包括:

- 想用  <a href="gui_x11.html#x11-selection">x11-selection</a>  而不是系统剪贴板。
- 想用  <a href="remote.html#x11-clientserver">x11-clientserver</a> 。

因为两者都需要 X11 客户间通信才能正常工作，而该通信机制和系统剪贴板时有冲突，
可以通过关闭 darwin 特性以防止 Vim 运行时挂起。


 vim:tw=78:ts=8:noet:ft=help:norl:
</section>
</article>
<footer>
Generated by vim2html
</footer>
</body>
</html>
